package com.hlw.hr_man.service;

import java.util.List;

import com.hlw.hr_man.Model.EmployeeModel;

import net.sf.json.JSONObject;

/**
 * 员工服务的接口
 * 
 * @author Administrator
 *
 */
public interface EmployeeSrevice {
	/**
	 * 通过编号和密码找到员工号
	 * 
	 * @param enumber
	 * @param epwd
	 * @return
	 */
	public EmployeeModel findEmpByEnumAndEpwd(String enumber, String epwd);

	/**
	 * 查询所有员工的信息
	 * 
	 * @param start
	 * @param pageSize
	 * @return jsons数组
	 */
	public JSONObject findAllEmployee(int start, int pageSize);

	/**
	 * 根据名字查询所有员工信息（模糊查询）
	 * 
	 * @param start
	 * @param pageSize
	 * @param searchname
	 * @return json
	 */
	public JSONObject findAllEmployee(int start, int pageSize, String searchname);

	/**
	 * 根据部门名字查询所有员工（重载模糊查询方法）
	 * 
	 * @param start
	 * @param pageSize
	 * @param searchname
	 * @param searchtype
	 * @return
	 */
	public JSONObject findAllEmployee(int start, int pageSize, String searchname, String searchtype);

	/**
	 * 添加员工的服务
	 * 
	 * @param emp
	 * @return
	 */
	public int insertEmployee(EmployeeModel emp);

	/**
	 * 修改员工的服务
	 * 
	 * @param emp
	 * @return
	 */
	public int updateEmployee(EmployeeModel emp);

	/**
	 * 获得所有的员工信息
	 * 
	 * @param start
	 * @param pageSize
	 * @param eid
	 * @return
	 */
	public JSONObject getEmployees(int start, int pageSize);

	/**
	 * 获得员工对象
	 * 
	 * @param e_number
	 * @return
	 */
	public EmployeeModel getEmployeeByEnumber(String e_number);

	/**
	 * 删除员工信息的服务
	 * 
	 * @param e_id
	 * @return
	 */
	public int deleteEmployees(String[] e_id);

	public int updateRoleToNormal(String enumber);

	public int findEmployeeByRoleid(int roleid);

	public int updateRoleToManger(String e_number, int roleid);

	public int updateMyInfo(EmployeeModel employee);

	public int updatePassword(String password, int e_id);

	/**
	 * 导入文件的服务
	 * 
	 * @param path
	 * @return
	 */
	public boolean uploadEmployees(String path);

	/**
	 * 验证员工编号是否存在
	 * 
	 * @param e_number
	 * @return
	 */
	public int validateE_number(String e_number);
}
